<script>
export default {
    props: {
        btnString: {
            type: String,
            default: ''
        }
    },
    computed: {
        isShow() {
            const perms = this.$store.state.user.profile.permissions
            return perms.includes(this.btnString) || perms.includes('*:*:*')
        }
    },
    // 渲染函数
    /*
    1.render函数返回的内容会充当组件的根节点，即<template>中的内容
    2.render函数的用法
        1.render函数接收一个参数h，它是一个函数，它接受3个参数
        2.h函数的第一个参数是标签名，第二个参数是标签的属性，第三个参数是标签的内容
        3.h函数返回的内容也会作为组件的根节点，即<template>中的内容
    */
    render() {
        // this.$slots.default拿到的就是要控制显示和隐藏的按钮组件
        //它作为插槽的内容传递给<template>标签，所以在这里可以获取到并控制它是否显示
        return this.isShow && this.$slots.default
    }
}
</script>
